﻿#region

using System;
using System.Collections.Generic;
using HouseHoldBudget.Core.Entities.Expenses;

#endregion

namespace HouseHoldBudget.Services.Expenses
{
    public interface IExpenseService
    {
        #region Instance Methods

        void DeleteExpense(Guid expenseId);
        Expense GetExpensesById(Guid id);
        List<Expense> GetExpensesByUserId(Guid userId, DateTime? startDateFilter, DateTime? endDateFilter);
        void InsertExpense(Expense expense);
        void UpdateExpense(Expense expense);
        List<Expense> GetAllExpensesByBudgetId(Guid budgetId, DateTime? startDateFilter, DateTime? endDateFilter);
        List<Expense> GetAllExpensesByBudgetId(Guid budgetId, int YearNumber, int MonthNumber);
        List<Expense> GetAllExpensesByBudgetId(Guid budgetId, int YearNumber);
        List<Expense> GetAllExpensesByBudgetId(Guid budgetId);

        #endregion
    }
}